Despite many recent advances in browser technology, web browsers generally remain lacking in their ability to perform complex-computation intensive tasks. To address this and other limitations, some web browsers may offload some or all of their tasks/processing to a remote server. For example, some web browsers (e.g., Opera™ Mini) may be configured to request web pages from servers that process and compress the web pages into images files before sending them to the browser. On such systems, the browser simply receives and renders the image, relying on the server to perform nearly all of the processing/tasks associated with displaying the page.
Other web browsers (e.g., Amazon silk) may use a split architecture in which only some of the tasks/processing is offloaded to a server. However, this split architecture generally requires the use of predefined servers and proprietary browsers. Moreover, web browsers (whether proprietary or not) are not always fully informed of the tasks that have already been performed, or if the pre-processed results are current (e.g., in view of recent updates/changes to the content, etc.). Without mechanisms for ensuring the validity of the pre-processed code, a browser is unable to determine whether the code has been efficiently encoded and/or can otherwise be trusted to perform as required to render the associated page.